Vercel (Zeit) 托管服务 - CORS 因 REST 请求而被阻止
Vercel (Zeit) hosting services - CORS blocked for REST requests
情况
我使用 Vercel The database is in db.json 托管了我的 JSON 数据库。我有一个站点,我想在其中创建和删除数据库中的对象。我已经配置了 Axios,以便它可以允许 PUT、PATCH、DELETE 请求。
const streams = axios.create({
// .. where we make our configurations
baseURL: "https://music-json-server.now.sh/db.json",
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Request-Method": "*",
"Access-Control-Allow-Credentials": "true",
"Access-Control-Allow-Methods": "GET,HEAD,OPTIONS,POST,PUT",
"Access-Control-Allow-Headers":
"Origin, X-Requested-With, Content-Type, Accept, Authorization",
"Content-Type": "application/json",
},
});
问题
我在启动应用程序时遇到与 CORS/axios 配置相关的错误。
xhr.js:126 Refused to set unsafe header "Access-Control-Request-Method"
Access to XMLHttpRequest at 'https://music-json-server.now.sh/db.json/' from origin 'http://localhost:3001' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.
CORS 正在阻止应用程序启动。
我尝试解决的问题:
我联系了支持人员。这对他们来说不是问题,因为看起来他们支持 CORS。
正在阅读相关的 post,Zeit (Vercel) Now serverless authenticated requests failed because of CORS
。建议添加now.json。我认为它不适用于我的情况,因为它使用 Vercel 的无服务器功能。
哦,有一个包你必须安装和使用:https://expressjs.com/en/resources/middleware/cors.html
遵循本指南,您将一切顺利。
情况
我使用 Vercel The database is in db.json 托管了我的 JSON 数据库。我有一个站点,我想在其中创建和删除数据库中的对象。我已经配置了 Axios,以便它可以允许 PUT、PATCH、DELETE 请求。
const streams = axios.create({
// .. where we make our configurations
baseURL: "https://music-json-server.now.sh/db.json",
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Request-Method": "*",
"Access-Control-Allow-Credentials": "true",
"Access-Control-Allow-Methods": "GET,HEAD,OPTIONS,POST,PUT",
"Access-Control-Allow-Headers":
"Origin, X-Requested-With, Content-Type, Accept, Authorization",
"Content-Type": "application/json",
},
});
问题 我在启动应用程序时遇到与 CORS/axios 配置相关的错误。
xhr.js:126 Refused to set unsafe header "Access-Control-Request-Method"
Access to XMLHttpRequest at 'https://music-json-server.now.sh/db.json/' from origin 'http://localhost:3001' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.
CORS 正在阻止应用程序启动。
我尝试解决的问题:
我联系了支持人员。这对他们来说不是问题,因为看起来他们支持 CORS。
正在阅读相关的 post,Zeit (Vercel) Now serverless authenticated requests failed because of CORS 。建议添加now.json。我认为它不适用于我的情况,因为它使用 Vercel 的无服务器功能。
哦,有一个包你必须安装和使用:https://expressjs.com/en/resources/middleware/cors.html 遵循本指南,您将一切顺利。